FROM beiruixing-docker.pkg.coding.net/brx/publicdocker/alpine-java-8_server-jre_unlimited:1.0

MAINTAINER brx@enlong.cn
ENV TZ=Asia/Shanghai
RUN ln -sf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone

# 设置构建环境变量
ENV NODE_OPTIONS="--max-old-space-size=4096"
ENV PUPPETEER_SKIP_CHROMIUM_DOWNLOAD=true

# 修复包管理问题并优化安装流程
RUN set -eux && \
    sed -i 's/dl-cdn.alpinelinux.org/mirrors.aliyun.com/g' /etc/apk/repositories && \
    apk update --no-cache && \
    apk add --no-cache --virtual .runtime-deps \
    curl \
    wget \
    busybox-extras \
    bind-tools && \
    rm -rf /var/cache/apk/*

RUN set -eux && \
    sed -i 's/dl-cdn.alpinelinux.org/mirrors.aliyun.com/g' /etc/apk/repositories && \
    apk update --no-cache && \
    apk add --no-cache openssl 

# 定义变量并设置默认值（可在构建时覆盖）
ARG SERVICE_PATH="brx-gateway"

ENV XM=""
#当前jarfile
ENV JAR_FILE=''

#端口
ENV EXPOSE_PORT=''
ENV LOCALHOST_HOST=''

#redis 地址
ENV REDIS_HOST=''
ENV REDIS_PORT=''
ENV REDIS_PASSWORD=''
ENV REDIS_DATABASE=''

#nacos 地址
ENV NACOS_HOST=''
ENV NACOS_PORT=''
ENV NACOSNAMESPACE=''
ENV NACOS_USERNAME=''
ENV NACOS_PASSWORD=''

#plumelog
ENV PLUMELOGENABLED=''
ENV PLUMELOGHOST=''
ENV PLUMELOGMODEL=''
ENV PLUMELOGREDISHOST=''
ENV PLUMELOGREDISPORT=''
ENV PLUMELOGREDISPASSWORD=''
ENV PLUMELOGREDISDB=''
ENV PLUMELOGKAFKAHOSTS=''
ENV PLUMELOGKAFKAGROUPNAME=''

#xxljob
ENV XXLJOBEXECUTORADDRESS=''
ENV XXLJOBACCESSTOKEN=''
ENV XXLJOBEXECUTORAPPNAME=''
ENV XXLJOBEXECUTORIP=''
ENV XXLJOBEXECUTORPORT=''

#OSS
ENV OSS_BUCKET_NAME=''
ENV OSS_TYPE=''
ENV OSS_TARGET=''
ENV OSS_LINK=''
ENV OSS_ENDPOINT=''
ENV OSS_ACCESS_KEY=''
ENV OSS_SECRET_KEY=''
ENV OSS_TYPE_WHITE='.png,.jpg,.zip,.rar,.7z,.gz,.pdf,.doc,.docx,.xls,.xlsx,.ppt,.pptx,.txt,.mp4'

#
ENV DBHOST=''
ENV DBPORT=''
ENV DBNAME=''
ENV DBUSERNAME=''
ENV DBPWD=''

ENV PROFILES=''
# 通用环境变量
ENV COMMON_ENV=''
ENV PROJECT_NAME=''
ENV MANAGEMENT_SERVER_PORT=''
#jasypt 加密
ENV JC_JASYPT_ENCRYPTOR_PASSWORD=''

#key
ENV JC_AUTH_K=''
ENV JC_AUTH_KEY=''
ENV JC_AUTH_N=''

RUN mkdir -p /app

WORKDIR /app

EXPOSE 8810

# 使用 COPY 指令根据 SERVICE_PATH 的值来决定复制内容
COPY ./ .

# 查找并重命名第一个找到的JAR文件为 app.jar
# 查找并删除 brx-key.jar，并重命名第一个找到的 JAR 文件为 app.jar
RUN find /app -type f -name "brx-key.jar" -exec rm -f {} + \
    && find /app -type f -name "*.jar" -exec mv {} app.jar \; \
    && find /app -name "pom.xml" -exec rm -f {} + \
    && [ -d "/app/src" ] && rm -rf /app/src \
    || echo "清理操作完成"

RUN mkdir -p /app/brx/log && \
    chmod -R 755 /app/brx/log


ENTRYPOINT ["sh","./Start.sh"]